package com.ktgj.customer.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 财务会员退款信息对象 finance_order_refundment
 * 
 * @author ruoyi
 * @date 2022-06-13
 */
public class FinanceOrderRefundment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long refundmentId;

    /** 对应订单类型ID */
    @Excel(name = "对应订单类型ID")
    private Long orderTypeId;

    /** 客户基本信息ID */
    @Excel(name = "客户基本信息ID")
    private Long customerId;

    /** 会员退款类型 */
    @Excel(name = "会员退款类型")
    private Long refundmentType;

    /** 订单退款金额 */
    @Excel(name = "订单退款金额")
    private BigDecimal refundmentAmount;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 订单Id */
    @Excel(name = "订单Id")
    private String orderId;

    /** 备注 */
    @Excel(name = "备注")
    private String refundmentDesc;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyTime;

    /** 退款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date returnTime;

    /** 取消时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "取消时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cancelTime;

    /** 创建人 */
    @Excel(name = "创建人")
    private Long employeeIdCreate;

    /** 申请人 */
    @Excel(name = "申请人")
    private Long employeeIdApply;

    /** 退款人 */
    @Excel(name = "退款人")
    private Long employeeIdReturn;

    /** 取消人 */
    @Excel(name = "取消人")
    private Long employeeIdCancel;

    /** 锁定员工ID */
    @Excel(name = "锁定员工ID")
    private Long lockEmployeeId;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completetime;

    /** 完成操作人 */
    @Excel(name = "完成操作人")
    private Long completeoper;

    /** 支付类型(借记卡支付 = 1, 信用卡支付 = 2 ) */
    @Excel(name = "支付类型(借记卡支付 = 1, 信用卡支付 = 2 )")
    private String paymentTypeId;

    /** 该笔退款对应的订单修改ID */
    @Excel(name = "该笔退款对应的订单修改ID")
    private Long orderChangeId;

    /** 调整金额（预留款） */
    @Excel(name = "调整金额", readConverterExp = "预=留款")
    private Long changeAmount;

    /** 卡号 */
    @Excel(name = "卡号")
    private String cardNo;

    /** 持卡人 */
    @Excel(name = "持卡人")
    private String cardOwner;

    /** 开户行城市 */
    @Excel(name = "开户行城市")
    private String bankCity;

    /** 银行卡类型 */
    @Excel(name = "银行卡类型")
    private String bankTypeId;

    /** 操作人 */
    @Excel(name = "操作人")
    private Long employeeIdOperartion;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationTime;

    /** 审核字段，1表示已审核，0表示未审核,2表示审核失败 */
    @Excel(name = "审核字段，1表示已审核，0表示未审核,2表示审核失败")
    private String rtypeStatus;

    /** 批量付款平台id */
    @Excel(name = "批量付款平台id")
    private String plfkformId;

    /** 批量付款平台名称 */
    @Excel(name = "批量付款平台名称")
    private String plfkformName;

    /** 提交审核的批次号顺序递增，0代表未提交 */
    @Excel(name = "提交审核的批次号顺序递增，0代表未提交")
    private Long batchNumber;

    /** 是否插入应退数据0插入1不插入 */
    @Excel(name = "是否插入应退数据0插入1不插入")
    private String isInsert;

    /** 开户银行名称 */
    @Excel(name = "开户银行名称")
    private String bankname;

    /** 流水号 */
    @Excel(name = "流水号")
    private String serialnumber;

    /** 审核人 */
    @Excel(name = "审核人")
    private Long reviewed;

    /** 审核人时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间")
    private Date reviewedTime;

    public void setRefundmentId(Long refundmentId) 
    {
        this.refundmentId = refundmentId;
    }

    public Long getRefundmentId() 
    {
        return refundmentId;
    }
    public void setOrderTypeId(Long orderTypeId) 
    {
        this.orderTypeId = orderTypeId;
    }

    public Long getOrderTypeId() 
    {
        return orderTypeId;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setRefundmentType(Long refundmentType) 
    {
        this.refundmentType = refundmentType;
    }

    public Long getRefundmentType() 
    {
        return refundmentType;
    }
    public void setRefundmentAmount(BigDecimal refundmentAmount)
    {
        this.refundmentAmount = refundmentAmount;
    }

    public BigDecimal getRefundmentAmount()
    {
        return refundmentAmount;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setOrderId(String orderId)
    {
        this.orderId = orderId;
    }

    public String getOrderId()
    {
        return orderId;
    }
    public void setRefundmentDesc(String refundmentDesc) 
    {
        this.refundmentDesc = refundmentDesc;
    }

    public String getRefundmentDesc() 
    {
        return refundmentDesc;
    }
    public void setApplyTime(Date applyTime) 
    {
        this.applyTime = applyTime;
    }

    public Date getApplyTime() 
    {
        return applyTime;
    }
    public void setReturnTime(Date returnTime) 
    {
        this.returnTime = returnTime;
    }

    public Date getReturnTime() 
    {
        return returnTime;
    }
    public void setCancelTime(Date cancelTime) 
    {
        this.cancelTime = cancelTime;
    }

    public Date getCancelTime() 
    {
        return cancelTime;
    }
    public void setEmployeeIdCreate(Long employeeIdCreate) 
    {
        this.employeeIdCreate = employeeIdCreate;
    }

    public Long getEmployeeIdCreate() 
    {
        return employeeIdCreate;
    }
    public void setEmployeeIdApply(Long employeeIdApply) 
    {
        this.employeeIdApply = employeeIdApply;
    }

    public Long getEmployeeIdApply() 
    {
        return employeeIdApply;
    }
    public void setEmployeeIdReturn(Long employeeIdReturn) 
    {
        this.employeeIdReturn = employeeIdReturn;
    }

    public Long getEmployeeIdReturn() 
    {
        return employeeIdReturn;
    }
    public void setEmployeeIdCancel(Long employeeIdCancel) 
    {
        this.employeeIdCancel = employeeIdCancel;
    }

    public Long getEmployeeIdCancel() 
    {
        return employeeIdCancel;
    }
    public void setLockEmployeeId(Long lockEmployeeId) 
    {
        this.lockEmployeeId = lockEmployeeId;
    }

    public Long getLockEmployeeId() 
    {
        return lockEmployeeId;
    }
    public void setCompletetime(Date completetime) 
    {
        this.completetime = completetime;
    }

    public Date getCompletetime() 
    {
        return completetime;
    }
    public void setCompleteoper(Long completeoper) 
    {
        this.completeoper = completeoper;
    }

    public Long getCompleteoper() 
    {
        return completeoper;
    }
    public void setPaymentTypeId(String paymentTypeId) 
    {
        this.paymentTypeId = paymentTypeId;
    }

    public String getPaymentTypeId() 
    {
        return paymentTypeId;
    }
    public void setOrderChangeId(Long orderChangeId) 
    {
        this.orderChangeId = orderChangeId;
    }

    public Long getOrderChangeId() 
    {
        return orderChangeId;
    }
    public void setChangeAmount(Long changeAmount) 
    {
        this.changeAmount = changeAmount;
    }

    public Long getChangeAmount() 
    {
        return changeAmount;
    }
    public void setCardNo(String cardNo) 
    {
        this.cardNo = cardNo;
    }

    public String getCardNo() 
    {
        return cardNo;
    }
    public void setCardOwner(String cardOwner) 
    {
        this.cardOwner = cardOwner;
    }

    public String getCardOwner() 
    {
        return cardOwner;
    }
    public void setBankCity(String bankCity) 
    {
        this.bankCity = bankCity;
    }

    public String getBankCity() 
    {
        return bankCity;
    }
    public void setBankTypeId(String bankTypeId) 
    {
        this.bankTypeId = bankTypeId;
    }

    public String getBankTypeId() 
    {
        return bankTypeId;
    }
    public void setEmployeeIdOperartion(Long employeeIdOperartion) 
    {
        this.employeeIdOperartion = employeeIdOperartion;
    }

    public Long getEmployeeIdOperartion() 
    {
        return employeeIdOperartion;
    }
    public void setOperationTime(Date operationTime) 
    {
        this.operationTime = operationTime;
    }

    public Date getOperationTime() 
    {
        return operationTime;
    }
    public void setRtypeStatus(String rtypeStatus) 
    {
        this.rtypeStatus = rtypeStatus;
    }

    public String getRtypeStatus() 
    {
        return rtypeStatus;
    }
    public void setPlfkformId(String plfkformId) 
    {
        this.plfkformId = plfkformId;
    }

    public String getPlfkformId() 
    {
        return plfkformId;
    }
    public void setPlfkformName(String plfkformName) 
    {
        this.plfkformName = plfkformName;
    }

    public String getPlfkformName() 
    {
        return plfkformName;
    }
    public void setBatchNumber(Long batchNumber)
    {
        this.batchNumber = batchNumber;
    }

    public Long getBatchNumber()
    {
        return batchNumber;
    }
    public void setIsInsert(String isInsert) 
    {
        this.isInsert = isInsert;
    }

    public String getIsInsert() 
    {
        return isInsert;
    }
    public void setBankname(String bankname) 
    {
        this.bankname = bankname;
    }

    public String getBankname() 
    {
        return bankname;
    }
    public void setSerialnumber(String serialnumber) 
    {
        this.serialnumber = serialnumber;
    }

    public String getSerialnumber() 
    {
        return serialnumber;
    }

    public Long getReviewed() {
        return reviewed;
    }

    public void setReviewed(Long reviewed) {
        this.reviewed = reviewed;
    }

    public Date getReviewedTime() {
        return reviewedTime;
    }

    public void setReviewedTime(Date reviewedTime) {
        this.reviewedTime = reviewedTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("refundmentId", getRefundmentId())
            .append("orderTypeId", getOrderTypeId())
            .append("customerId", getCustomerId())
            .append("refundmentType", getRefundmentType())
            .append("refundmentAmount", getRefundmentAmount())
            .append("status", getStatus())
            .append("orderId", getOrderId())
            .append("refundmentDesc", getRefundmentDesc())
            .append("applyTime", getApplyTime())
            .append("createTime", getCreateTime())
            .append("returnTime", getReturnTime())
            .append("cancelTime", getCancelTime())
            .append("employeeIdCreate", getEmployeeIdCreate())
            .append("employeeIdApply", getEmployeeIdApply())
            .append("employeeIdReturn", getEmployeeIdReturn())
            .append("employeeIdCancel", getEmployeeIdCancel())
            .append("lockEmployeeId", getLockEmployeeId())
            .append("completetime", getCompletetime())
            .append("completeoper", getCompleteoper())
            .append("paymentTypeId", getPaymentTypeId())
            .append("orderChangeId", getOrderChangeId())
            .append("changeAmount", getChangeAmount())
            .append("cardNo", getCardNo())
            .append("cardOwner", getCardOwner())
            .append("bankCity", getBankCity())
            .append("bankTypeId", getBankTypeId())
            .append("employeeIdOperartion", getEmployeeIdOperartion())
            .append("operationTime", getOperationTime())
            .append("rtypeStatus", getRtypeStatus())
            .append("plfkformId", getPlfkformId())
            .append("plfkformName", getPlfkformName())
            .append("batchNumber", getBatchNumber())
            .append("isInsert", getIsInsert())
            .append("bankname", getBankname())
            .append("serialnumber", getSerialnumber())
            .toString();
    }
}
